1. Field of the Invention
This invention relates to tracking moving objects. More specifically, it relates to using past location and future destination information to compute an expected trajectory of a moving object.
2. Description of Related Art
Common devices such as cell phones, personal digital assistants, laptops and the like, can be equipped to provide location information. These devices are generally also equipped for wireless transmission of data. The device's location is updated using positioning technologies. Examples of positioning technologies include 1) global positioning systems, commonly called GPS, 2) network based positioning, which computes the location of a device by triangulation of its wireless signal between transmission towers, 3) a fixed sensor in the environment that identifies the moving object, and 4) cell-identification, which identifies the cell in which the moving object is located.
The devices can be carried by, or mounted on, moving objects such as vehicles, aircraft, vessels or pedestrians. The location of the small device corresponds directly to the location of the larger device. Using the wireless capability of the devices, the location is transmitted to a central system for tracking the motion of the moving object. The central system typically stores the location information of the object, and provides a method for displaying that information to a user.
Location information management involves tracking the moving object, modeling its location (for example, by representing it in a server) and retrieving data. Existing systems perform location management by receiving a time-location point. This point is typically of the form ((x,y,t)), and it is generated periodically by the device and transmitted to the location management system. This may occur, for example, once every 10 minutes. The point indicates the object's coordinates (x,y) at time t.
The location management system is typically a database managed by a Database Management System (DBMS). The database provides interfaces for receiving the location information and for displaying the information to users. When the DBMS receives a location point, it stores it in the database. The DBMS supports Structured Query Language (SQL), which can be used to access and query the information stored in the database. In these systems, if the exact current location of a moving object is required at a particular time, then the object is contacted, its location is retrieved, and the result is stored in the database. The method is called point-location management, and it has several disadvantages.
First, point-location management does not allow interpolation or extrapolation of data In point-location management, the system only knows the time-location points stored in its database. It cannot interpolate the past position of a moving object, for example at time X, using data sets subsequent to that time. Also, it cannot extrapolate a future location of the moving object from past data sets. In addition, the point-location management system has difficulty determining the current location of all its moving objects. Since the system does not support extrapolation, to find the current location of its moving objects the system must simultaneously poll each moving object. This causes an undesirable bandwidth spike on the network as the system attempts to contact each object. Objects disconnected from the network are not polled, and their location will not be known.
A second disadvantage is that point-location leads to a tradeoff between precision and resources. Obtaining an accurate picture of moving objects' precise locations requires frequent location updates. This consumes limited system resources such as bandwidth and processing power. When these resources are not taxed by frequent location updates, the location information quickly becomes dated and, therefore, imprecise.
A third problem of point-location management is that it leads to cumbersome and inefficient software development. This creates several problems for developing location based service applications. Existing DBMS's are not well equipped to handle continuously changing data, such as the location of moving objects, because in existing databases data is assumed to be constant unless it is explicitly modified. Location based service applications also need to manage space and time information; however, SQL is not designed or optimized for these types of when/where queries. For example, the query “retrieve the vehicles that are inside the region R always between 4 pm and 5 pm” would be extremely difficult to express in SQL.
Additionally, moving object locations are inherently imprecise because the database location of the object (i.e., the object location stored in the database) cannot always be identical to the actual location of the object. This inherent uncertainty impacts database modeling, querying and indexing. For example, there can be two different kinds of answers to queries. These are the set of object that “may” satisfy the query, and the set of objects that “must” satisfy the query. These queries aren't supported in current point-location DBMS's. Furthermore, existing DBMS's have no parameters to account for varying levels of uncertainty, such as was that truck within 100 inches, 100 feet, 100 yards, or 100 miles of an intermediate point calculated.
Therefore, there exists a need to more accurately represent the travel paths of moving object and to predict the future movement of objects. There further exists a need to allow complex queries regarding the past and future locations of moving objects.